<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>es6解构赋值</title>
</head>

<body>

</body>

</html>
<script>
    // 定义：语法是javascript表达式
    //       解构赋值就是从目标对象或数组中提取自己想要的变量
    //       结构的时候两边数据类型要一样


    //1.数组结构
    // [a,s,d] = [2,4,6]
    // console.log(a,s);//2 4
    // console.log(d);//6



    // 2.对象结构(外面要加大括号)
    // ({a,d}={a:2,d:3})
    // console.log(a,d);//2 3



    //3. ...arr 结构数组
    // [a,b,...arr] = [1,2,3,4,5,6]
    // console.log(a);//1
    // console.log(b);//2
    // console.log(...arr);// 3 4 5 6 



    //4. ...arr 结构对象
    // ({a,b,...arr}={a:10,b:12,c:14,f:17})
    // console.log(a,b);//10  12
    // console.log(arr);//{c: 14, f: 17}


    //变量交换
    // var c = 1;
    // var v = 3;
    // [c,v] = [v, c];
    // console.log(c); // 3
    // console.log(v); // 1



    //解析一个从函数返回
    function x() {
        return [1, 2];
    }
    var a, b;
    [a, b] = x();
    console.log(a); // 1
    console.log(b); // 2

</script>